package cn.njupt;

public interface Heap<E> {
    public abstract int size();
    public abstract boolean isEmpty();
    public abstract void clear();
    public abstract void add(E element);

    /**
     * 获得堆顶元素
     * @return
     */
    public abstract E get();

    /**
     * 删除堆顶元素
     * @return
     */
    public abstract E remove();

    /**
     * 删除堆顶元素的同时插入一个新元素
     * @param element
     * @return
     */
    public abstract E replace(E element);
}
